package com.bnz.proxy.sta;

import com.bnz.dao.UserDao;

/**
 * 代理对象（静态代理）提高目标对象的能力
 * 很麻烦，需要和目标对象实现所有的相同接口，假设有很多个接口，那么静态代理需要一一实现。
 */
public class UserDaoStaticImpl implements UserDao {
    // 1. 引入目标对象
    private UserDao userDao;
    public UserDaoStaticImpl(UserDao userDao){
        this.userDao = userDao;
    }
    // 实现UserDao的方法
    @Override
    public void add() {
        userDao.add();
    }

    @Override
    public void delete() {
        userDao.delete();
    }

    @Override
    public void update() {
        userDao.update();
    }

    @Override
    public void query() {
        cs();
        userDao.query();
    }
    // 自己定义方法用来测试静态代理
    private void cs(){
        System.out.println("测试静态代理！");
    }
}
